A virtual machine (VM) is a software implementation of a machine, such as a computer, that executes programs like a physical machine. A VM allows multiple operating systems to co-exist on a same hardware platform in strong isolation from each other, utilize different instruction set architectures, and facilitate high-availability and disaster recovery operations.
In some situations, it may be desirable to change from one type of VM architecture to another. Typically, this requires that the information in the current (source) VM be copied into the new (destination) VM. Migrating data between VM architectures, however, may be problematic. For instance, migration may be a complex process that must be overseen by a skilled administrator familiar with the architecture-specific commands that must be executed on the source VM and destination VM in order to effect the migration. As a result, migration may cause a disruption in services, lengthy migration times, or in some cases lead to data corruption.